package com.lvwenguo.utils;

import java.util.ArrayList;
import java.util.List;

/*
* 分页工具类
* */
public class PageUtlis<T> {

    private Integer Article;//页面显示几条数据
    public PageUtlis(Integer article){
        this.Article=article;
    }
    /*
    * 数据总页数
    * */
    public Integer NumberPages(List<T> list){
        //数据长度小于显示数据条数
        if(list.size()<=Article){
            return 1;
        }
        //大于显示数据长度
        else if(list.size()>Article){
            //表示没有余数
            if(list.size()%Article==0){
               return list.size()/Article;
            }
            //表示有余数
            else{
                //除取整
               return list.size()/Article+1;
            }
        }
        return 1;
    }
        /*
        * 分页数据返回
        * */
        public List<T> Pagination(List<T> list,Integer page){
            List<T> list1=new ArrayList<>();
            //数据长度小于显示数据条数
            if(list.size()<=Article){
                return list;
            }
            //数据长度大于显示条数
            else{
                //若用户点击最后一页，数据长度少于显示条数
                if(page*Article>list.size()){
                    for(int i=page*Article-(Article-1);i<=list.size();i++){
                        list1.add(list.get(i-1));
                    }
                }
                //否者
                else{
                    for(int i=page*Article-(Article-1);i<=page*Article;i++){
                        list1.add(list.get(i-1));
                    }
                }
            return list1;
        }}


}
